﻿#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QLabel>
#include <QMainWindow>
#include <QTextEdit>
#include <QToolBar>


enum class CodeType
{
    ANSI,
    UTF8,
    UTF8_BOM,
    UTF16
};

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    //控件
    QToolBar* m_pToolbar;
    QTextEdit* m_pTextEdit;

    QString m_file_path;        //文件路径
    CodeType m_code_type{};     //当前文件的编码格式
    QByteArray m_file_contents{};   //文件的原始数据
    QString m_file_string{};    //显示的文本

    QLabel* m_pCodeLabel{};

private:
//    void AddMenuItem(QMenu* pMenu, const QString& str, );

    void OnFileOpen();
    void OnFileSave();

    void OpenFile();

    void UpdateStatusBar();
};

#endif // MAINWINDOW_H
